زبانهای برنامهنویسیساختارهای زبانی دستور مداری دررایانههاهستند که بهوسیلهٔ آنها میتوان یکالگوریتمرا بهوسیلهٔ ساختارهای دستوری متفاوت برای اجرای رایانه توصیف کرد و با این روش امکان نوشتن برنامه جهت تولیدنرمافزارهایجدید به وجود میآید. معمولاً هر زبان برنامهنویسی دارای یک محیط نرمافزاری برای وارد کردن متن برنامه، اجرا،همگردانیو رفع اشکال آن هستند. عموماً زبانهایبرنامهنویسیرا به پنج نسل تقسیم میکنند:
نسل دوم زبانهایی مانند اسمبلی و مشتق آن است که قابل فهم تر برای انسان میباشد
نسل سوم زبانهایی مانند کوبول و پی ال وان و… است که دستورهای قابل فهم تر برای انسان و نیاز به کامپایلرها
نسل چهارم مثل زبانهای اوراکل وفاکس پروو اس کیو الها است و این نسل چیزی نزدیک به محاورههای انسانی است.
نسل پنج زبانهایی مانند prolog , ops5،ویژوال بیسیک- تمرکز برحل مسئلهو استفاده از الگوریتمهای نوشته شده توسط برنامهنویس
یک زبان برنامهنویسی یکزبان مصنوعی انگلیسیاست که برای بیان محاسباتی که توسط یک ماشین (مخصوصا رایانه) قابل انجام است، طراحی شدهاست.زبانهای برنامهنویسی برای ایجاد برنامههایی به کار میروند که رفتار یک ماشین را مشخص میکنند، الگوریتم دقیق را بیان میکنند، یا روشی برای ارتباط انسانند. بسیاری از زبانهای برنامهنویسی تعدادی قالب از ویژگیهای نوشته شده دستوری(syntax) و معناشناسی (semantics) دارند، چرا که رایانهها دستورهای دقیقاً مشخص نیاز دارند. برخی توسط سند خصوصیات (specification document) تعیین شدهاند. (برای مثال یک استاندارد ISO)، در حالی که برخی دیگر دارای پیادهسازی غالبی میباشند. (مانند Perl) اولین زبان برنامهنویسی به قبل از اختراع رایانه بازمیگردد، و برای هدایت رفتار ماشینهایی مانند دستگاههای نساجی اتوماتیک و نوازندههای پیانو به کار میرفت. هزاران زبان برنامهنویسی خلق شدهاند، بیشتر در زمینهٔ رایانه، زمینهای که هر ساله بسیاری دیگر ایجاد میشوند.